In Internet Protocol (IP) Flow Information eXport (IPFIX), IP traffic measurements for flows are exported using a TLV (type, length, value) format. The information is exported using a template record that is sent once to export the {type, length} pairs that define a data format for one or more data records that are sent for a flow. The data records include values for the flow.
In IPFIX, all template records are sent reliably on a Stream Control Transmission Protocol (SCTP) association on stream 0. Data records are sent partially reliably on another stream or unreliably on yet another stream. The data records sent in a single stream may be associated with multiple templates.
A collector device must have received the template record associated with the data records to decode the information in the data records. However, because the template is sent on a different stream from the corresponding data records, the template may not be received before the data records. For example, a template may be blocked pending reliable transmission on stream 0 while the associated data records may be transmitted immediately in an unreliable message on another stream. Because the collector cannot decode the data records without the template, the data records may be discarded by the collector. Also, due to different stream congestion, it is possible that even if the template and data records are both sent reliably, the data records sent on another stream still might arrive before the template. Again, the collector cannot decode the data records without the template and the data records may be discarded. Also, because data records pertaining to different templates are sent on the same SCTP stream, there is no way of knowing how much data was lost for data records associated with a specific template because the collector cannot determine which template the lost data records were associated with. In some cases, it may be important to know how many data records were lost (e.g., in the case of billing or when sampling is being used), but conventionally IPFIX cannot provide this information.